//
//  AttribRect.hpp
//  STDRenderSDK
//
//  Created by 陈学明 on 2023/3/13.
//

#ifndef STDSAttribRect_hpp
#define STDSAttribRect_hpp

#include <stdio.h>
#include "STDSAttrib.hpp"

class STDSAttribRect: public STDSAttrib {
public:
    STDSAttribRect();

    virtual ~STDSAttribRect();
public:
    void flipTexCoord();

    void flipTexCoordH();

    void resetTexCoord();

    void flipHVexCoord();

    void resetVexCoord();

    void resetVex(float *_vex);

    void resetVexCoord_Corner(float lbx, float lby, float rbx, float rby, float ltx, float lty, float rtx, float rty);

protected:
    virtual void _resetDrawFunc() override;

    virtual void _resetCount() override;

    virtual void _resetIdx() override;

    virtual void _resetVex() override;

    virtual void _resetTex() override;

    virtual void _resetClr() override;

private:
    float mTargetTexCoord[8];
    float mTargetVertices[8];
};
#endif /* AttribRect_hpp */
